Поиск в ширину.

Рассмотрим все количества голов от $0$ до $\max (n, a + b)$.
Из каждого количества есть не более двух рёбер:
что будет, если ударить одним мечом, и что будет, если ударить другим.
Поиском в ширину найдём кратчайший путь в состояние с $0$ голов у гидры.
